package cn.seocoo.platform.user.mapper;

import cn.seocoo.platform.car.dto.CarDto;
import cn.seocoo.platform.user.domain.AppUser;
import cn.seocoo.platform.user.domain.AppUserDto;
import org.springframework.ui.ModelMap;

import java.util.List;	

/**
 * APP注册用户 数据层
 * 
 * @author wujian
 * @date 2019-12-20
 */
public interface AppUserMapper 
{
	/**
     * 查询APP注册用户信息
     * 
     * @param id APP注册用户ID
     * @return APP注册用户信息
     */
	public AppUser selectAppUserById(Integer id);
	
	/**
     * 查询APP注册用户列表
     * 
     * @param appUser APP注册用户信息
     * @return APP注册用户集合
     */
	public List<AppUser> selectAppUserList(AppUser appUser);
	
	/**
     * 新增APP注册用户
     * 
     * @param appUser APP注册用户信息
     * @return 结果
     */
	public int insertAppUser(AppUser appUser);
	
	/**
     * 修改APP注册用户
     * 
     * @param appUser APP注册用户信息
     * @return 结果
     */
	public int updateAppUser(AppUser appUser);
	
	/**
     * 删除APP注册用户
     * 
     * @param id APP注册用户ID
     * @return 结果
     */
	public int deleteAppUserById(Integer id);
	
	/**
     * 批量删除APP注册用户
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteAppUserByIds(String[] ids);


	AppUser selectAppUserByLoginName(String loginName);

    AppUser selectAppUserByOpenId(AppUser appUserTemp);

	AppUserDto selectAppUserDtoByOpenId(AppUser appUserTemp);

	AppUserDto selectAppUserDtoByLoginName(String loginName);

	/**
	 * @Author WuJian
	 * @Description //我的发布
	 * @Date 14:05 2020/1/3
	 * @Param [appUserId]
	 * @return java.util.List<cn.seocoo.platform.car.dto.CarDto>
	 **/
    List<CarDto> getCarList(Integer appUserId);

    /**
     * @Author WuJian
     * @Description //查询当前用户发布了几辆车
     * @Date 15:39 2020/1/6
     * @Param [appUserId]
     * @return java.lang.Integer
     **/
    Integer getCountForUserCar(Integer appUserId);
}